10
תגובות

הגנה מפני XSS

פתח soogo ,
כדי להגן מפני XSS סך הכל צריך לשים לכל input את הפונקצייה strip_tags ?

10 תשובות

avatar ענה iiddaannyy ב 02 לאוקטובר 2012 #

strip_tags תמחוק חלק מהקלט. לא משתמשים בה בשביל זה.
htmlspecialchars תסנן את התווים הלא-רצויים.

avatar ענה raslin ב 02 לאוקטובר 2012 #

htmlentities

avatar ענה soogo ב 02 לאוקטובר 2012 #

השתמשתי ב htmlspecialchars וגם ב htmlentities כתבתי באינפוט

<script>alert('text')</script>
והפונקצייה לא מחקה לי את התגים

avatar ענה raslin ב 02 לאוקטובר 2012 #

היא לא מוחקת את התווים בהדפסה, היא רק גורמת לזה שזה לא ירוץ כסקריפט אלא פשוט יכתוב את זה כטקסט רגיל

avatar ענה soogo ב 02 לאוקטובר 2012 #

אבל ברגע שהתוכן נשמר במסד כבר אין לי את הפונקצייה אז הסקריפט כן יכול לרוץ

avatar ענה iiddaannyy ב 02 לאוקטובר 2012 #

אתה מכניס את הקלט כמו שהוא למסד. בלי htmlspecialchars.
אחרי שאתה פאתה מוציא אותו מהמסד ופולט אותו למשתמש אתה משתמש ב-htmlspecialchars.

avatar ענה soogo ב 02 לאוקטובר 2012 #

אני עדיין לא מבין אך זה שהסקריפט לא רץ

avatar ענה raslin ב 02 לאוקטובר 2012 #

הסקריפט לא יכול להריץ בצורה שהראיתי

avatar ענה soogo ב 02 לאוקטובר 2012 #

אבל למה הוא לא יכול לרוץ?

avatar ענה iiddaannyy ב 02 לאוקטובר 2012 #

כי זה נהפך לזה:

&lt;script&gt;alert('text')&lt;/script&gt